﻿namespace JunFan.Domain
{
    using System;

    public class WrongArgumentException : ApplicationException
    {
        private readonly string _argumentValue;
        private readonly string _argumentName;
        private readonly string _actionDescription;

        public WrongArgumentException(string argumentName, string argumentValue, string actionDescription, string message)
            : base(message)
        {
            _argumentValue = argumentValue;
            _actionDescription = actionDescription;
            _argumentName = argumentName;
        }

        public string ArgumentArgumentValue
        {
            get { return _argumentValue; }
        }

        public string ArgumentArgumentName
        {
            get { return _argumentName; }
        }

        public string ActionDescription
        {
            get { return _actionDescription; }
        }
    }
}